Skip to contents

Roy 2025 Figures and tables

Code
Error in get(paste0(generic, ".", class), envir = get_method_env()) :
  object 'type_sum.accel' not found
Code

Attaching package: 'dplyr'
The following objects are masked from 'package:stats':

    filter, lag
The following objects are masked from 'package:base':

    intersect, setdiff, setequal, union
Code
# Set global chunk options
knitr::opts_chunk$set(fig.height = 8, fig.width = 8)

Figures

Figure 1

A - Continental US A11

Code
state_frequencies <- CensusHLA::census_adjusted_nmdp_hla_frequencies_by_state |> dplyr::filter(allele == 'A*11:01')

out_data <- state_frequencies |>
  dplyr::ungroup() |>
  dplyr::group_by(region, census_region, fips) |>
  dplyr::summarize(gf = sum(us_2020_nmdp_gf))
`summarise()` has grouped output by 'region', 'census_region'. You can override
using the `.groups` argument.
Code
gg_state <- usmap::plot_usmap(
  data = out_data,
  regions = "states",
  #exclude = c('Alaksa','Hawaii'),
  exclude = c('AK', 'HI'),
  values = "gf",
  color = "black",
  linewidth = 0.1
) +
  viridis::scale_fill_viridis(option = "plasma", direction = 1)

gg_state

B - A11 by County

Code
info_by_county <- CensusHLA::census_adjusted_nmdp_hla_frequencies_by_county |> 
  dplyr::filter(!(state %in% c('Alaska','Hawaii'))) |> 
  dplyr::filter(allele == 'A*11:01') 

out_data <- info_by_county |>
  dplyr::ungroup() |>
  dplyr::filter(allele == 'A*11:01') |>
  dplyr::group_by(region, state, census_region, county, fips, loci, allele) |>
  dplyr::summarize(gf = sum(us_2020_nmdp_gf)) |>
  dplyr::filter(!(is.na(gf))) |>
  # Create a STATEFP and COUNTYFP column by breaking the fips column on the 3rd character to the end
  dplyr::mutate(STATEFP = substr(fips, 1, 2),
                COUNTYFP = substr(fips, 3, nchar(fips)))
`summarise()` has grouped output by 'region', 'state', 'census_region',
'county', 'fips', 'loci'. You can override using the `.groups` argument.
Code
out_data <-
  out_data |>
  dplyr::mutate(
    county = dplyr::case_when(
      state == "Connecticut" &
        census_region == "Litchfield County, Connecticut" ~ "Northwest Hills Planning Region",
      state == "Connecticut" &
        census_region == "Hartford County, Connecticut" ~ "Capitol Planning Region",
      state == "Connecticut" &
        census_region == "Middlesex County, Connecticut" ~ "Lower Connecticut River Valley Planning Region",
      state == "Connecticut" &
        census_region == "Windham County, Connecticut" ~ "Northeastern Connecticut Planning Region",
      state == "Connecticut" &
        census_region == "New Haven County, Connecticut" ~ "South Central Connecticut Planning Region",
      state == "Connecticut" &
        census_region == "New London Count, Connecticut" ~ "Southeastern Connecticut Planning Region",
      state == "Connecticut" &
        census_region == "Fairfield County, Connecticut" ~ "Western Connecticut Planning Region",
      state == "Connecticut" &
        census_region == "Tolland County" ~ "Capitol Planning Region",
      census_region == "Doña Ana County" ~ "Donna Ana County",
      census_region == "Chugach Census Area" ~ "Valdez-Cordova Census Area",
      census_region == "Copper River Census Area" ~ "Valdez-Cordova Census Area",
      T ~ census_region
    )) |> 
  dplyr::mutate(
    fips = dplyr::case_when(state == "Connecticut" & county == "Northwest Hills Planning Region" ~ "09160",
                        state == "Connecticut" & county == "Greater Bridgeport Planning Region" ~ "09120",
                        state == "Connecticut" & county == "Lower Connecticut River Valley Planning Region" ~ "09130",
                        state == "Connecticut" & county == "Naugatuck Valley Planning Region" ~ "09140",
                        state == "Connecticut" & county == "Northeastern Connecticut Planning Region" ~ "09150",
                        state == "Connecticut" & county == "South Central Connecticut Planning Region" ~ "09170",
                        state == "Connecticut" & county == "Southeastern Connecticut Planning Region" ~ "09180",
                        state == "Connecticut" & county == "Western Connecticut Planning Region" ~ "09190",
                        state == "Connecticut" & county == "Capitol Planning Region" ~ "09110",
                        T ~ fips)
    )

gg_a11_by_county <- 
  usmap::plot_usmap(
  data = out_data,
  regions = "counties",
  exclude = c('AK','HI'),
  #include = c('AK', 'HI'),
  values = "gf",
  color = "black",
  linewidth = 0.1
) +
  viridis::scale_fill_viridis(option = "plasma", direction = 1)

gg_a11_by_county

C - NDMP Correlations

D - A11 by CA County

Code
info_by_county <- CensusHLA::census_adjusted_nmdp_hla_frequencies_by_county |> 
  dplyr::filter(state %in% c('California')) |> 
  dplyr::filter(allele %in% c('A*11:01','A*02:01','A*03:01'))
Code
out_data <- info_by_county |>
  dplyr::ungroup() |>
  dplyr::filter(allele == 'A*11:01') |>
  dplyr::group_by(region, state, census_region, county, fips, loci, allele) |>
  dplyr::summarize(gf = sum(us_2020_nmdp_gf)) |>
  dplyr::filter(!(is.na(gf))) |>
  # Create a STATEFP and COUNTYFP column by breaking the fips column on the 3rd character to the end
  dplyr::mutate(STATEFP = substr(fips, 1, 2),
                COUNTYFP = substr(fips, 3, nchar(fips)))
`summarise()` has grouped output by 'region', 'state', 'census_region',
'county', 'fips', 'loci'. You can override using the `.groups` argument.
Code
gg_a11_in_ca <- 
  usmap::plot_usmap(
  data = out_data,
  regions = "counties",
  include = c('CA'),
  values = "gf",
  color = "black",
  linewidth = 0.1
) +
  viridis::scale_fill_viridis(option = "plasma", direction = 1)

gg_a11_in_ca

E A11 by CA by H4 Hexagon

Code
state_info <- CensusHLA::query_state_codes()
ca_4 <- CensusHLA::summarize_tract_genotypic_frequencies_by_h3_hexagon(
  state_abbreviation = 'CA',
  query_allele = 'A*11:01',
  h3_resolution = 4
)
INFO [2025-04-22 14:06:17] Working with state: CA
Adding missing grouping variables: `census_region`
Reading layer `tl_2020_06_tract' from data source
  `/mnt/efs/home/christian.roy/R/x86_64-pc-linux-gnu-library/4.4/CensusHLA/extdata/tiger_2020/tract/tl_2020_06_tract.shp'
  using driver `ESRI Shapefile'
Simple feature collection with 9129 features and 12 fields
Geometry type: MULTIPOLYGON
Dimension:     XY
Bounding box:  xmin: -124.482 ymin: 32.52883 xmax: -114.1312 ymax: 42.0095
Geodetic CRS:  NAD83
INFO [2025-04-22 14:07:01] Working with state: CA
Data has been transformed to EPSG:4326.
Warning: st_centroid assumes attributes are constant over geometries
Data has been transformed to EPSG:4326.
Joining with `by = join_by(nmdp_race_code)`
Code
ca_4$p1

F A11 Catchment

Code
gg_catchment <- plot_delNero2022_catchment_areas(
  query_allele = 'A*11:01',
  CensusHLA::a11_catchment_summed$sf_tract_centroids_for_all_states_with_catchment_with_us_population_race_code_percentages_by_tract_summed
)
Warning in layer_sf(geom = GeomSf, data = data, mapping = mapping, stat = stat,
: Ignoring unknown parameters: `line`
Code
gg_catchment

Figure 2 [X}]

A - B:58:01 by County

Code
info_by_county <- CensusHLA::census_adjusted_nmdp_hla_frequencies_by_county |> 
  dplyr::filter(!(state %in% c('Alaska','Hawaii'))) |> 
  dplyr::filter(allele == 'B*58:01') 

out_data <- info_by_county |>
  dplyr::ungroup() |>
  dplyr::filter(allele == 'B*58:01') |>
  dplyr::group_by(region, state, census_region, county, fips, loci, allele) |>
  dplyr::summarize(gf = sum(us_2020_nmdp_gf)) |>
  dplyr::filter(!(is.na(gf))) |>
  # Create a STATEFP and COUNTYFP column by breaking the fips column on the 3rd character to the end
  dplyr::mutate(STATEFP = substr(fips, 1, 2),
                COUNTYFP = substr(fips, 3, nchar(fips)))
`summarise()` has grouped output by 'region', 'state', 'census_region',
'county', 'fips', 'loci'. You can override using the `.groups` argument.
Code
out_data <-
  out_data |>
  dplyr::mutate(
    county = dplyr::case_when(
      state == "Connecticut" &
        census_region == "Litchfield County, Connecticut" ~ "Northwest Hills Planning Region",
      state == "Connecticut" &
        census_region == "Hartford County, Connecticut" ~ "Capitol Planning Region",
      state == "Connecticut" &
        census_region == "Middlesex County, Connecticut" ~ "Lower Connecticut River Valley Planning Region",
      state == "Connecticut" &
        census_region == "Windham County, Connecticut" ~ "Northeastern Connecticut Planning Region",
      state == "Connecticut" &
        census_region == "New Haven County, Connecticut" ~ "South Central Connecticut Planning Region",
      state == "Connecticut" &
        census_region == "New London Count, Connecticut" ~ "Southeastern Connecticut Planning Region",
      state == "Connecticut" &
        census_region == "Fairfield County, Connecticut" ~ "Western Connecticut Planning Region",
      state == "Connecticut" &
        census_region == "Tolland County" ~ "Capitol Planning Region",
      census_region == "Doña Ana County" ~ "Donna Ana County",
      census_region == "Chugach Census Area" ~ "Valdez-Cordova Census Area",
      census_region == "Copper River Census Area" ~ "Valdez-Cordova Census Area",
      T ~ census_region
    )) |> 
  dplyr::mutate(
    fips = dplyr::case_when(state == "Connecticut" & county == "Northwest Hills Planning Region" ~ "09160",
                        state == "Connecticut" & county == "Greater Bridgeport Planning Region" ~ "09120",
                        state == "Connecticut" & county == "Lower Connecticut River Valley Planning Region" ~ "09130",
                        state == "Connecticut" & county == "Naugatuck Valley Planning Region" ~ "09140",
                        state == "Connecticut" & county == "Northeastern Connecticut Planning Region" ~ "09150",
                        state == "Connecticut" & county == "South Central Connecticut Planning Region" ~ "09170",
                        state == "Connecticut" & county == "Southeastern Connecticut Planning Region" ~ "09180",
                        state == "Connecticut" & county == "Western Connecticut Planning Region" ~ "09190",
                        state == "Connecticut" & county == "Capitol Planning Region" ~ "09110",
                        T ~ fips)
    )

gg_b58_by_county <- 
  usmap::plot_usmap(
  data = out_data,
  regions = "counties",
  exclude = c('AK','HI'),
  #include = c('AK', 'HI'),
  values = "gf",
  color = "black",
  linewidth = 0.1
) +
  viridis::scale_fill_viridis(option = "plasma", direction = 1)

gg_b58_by_county

B - B58:01 in MS by County

Code
info_by_county <- CensusHLA::census_adjusted_nmdp_hla_frequencies_by_county |> 
  dplyr::filter(state %in% c('Mississippi')) |> 
  dplyr::filter(allele %in% c('B*58:01'))
Code
out_data <- info_by_county |>
  dplyr::ungroup() |>
  dplyr::filter(allele == 'B*58:01') |>
  dplyr::group_by(region, state, census_region, county, fips, loci, allele) |>
  dplyr::summarize(gf = sum(us_2020_nmdp_gf)) |>
  dplyr::filter(!(is.na(gf))) |>
  # Create a STATEFP and COUNTYFP column by breaking the fips column on the 3rd character to the end
  dplyr::mutate(STATEFP = substr(fips, 1, 2),
                COUNTYFP = substr(fips, 3, nchar(fips)))
`summarise()` has grouped output by 'region', 'state', 'census_region',
'county', 'fips', 'loci'. You can override using the `.groups` argument.
Code
gg_b58_in_ms <- 
  usmap::plot_usmap(
  data = out_data,
  regions = "counties",
  include = c('MS'),
  values = "gf",
  color = "black",
  linewidth = 0.1
) +
  viridis::scale_fill_viridis(option = "plasma", direction = 1) + 
  theme(legend.position = 'right' )

gg_b58_in_ms

C - B58:01 in MS by Hexagon [X}]

Code
ms_4 <-
  CensusHLA::summarize_tract_genotypic_frequencies_by_h3_hexagon(
    state_abbreviation = 'MS',
    query_allele = 'B*58:01',
    h3_resolution = 4
  )
INFO [2025-04-22 14:07:56] Working with state: MS
Adding missing grouping variables: `census_region`
Reading layer `tl_2020_28_tract' from data source
  `/mnt/efs/home/christian.roy/R/x86_64-pc-linux-gnu-library/4.4/CensusHLA/extdata/tiger_2020/tract/tl_2020_28_tract.shp'
  using driver `ESRI Shapefile'
Simple feature collection with 878 features and 12 fields
Geometry type: MULTIPOLYGON
Dimension:     XY
Bounding box:  xmin: -91.65501 ymin: 30.13984 xmax: -88.09789 ymax: 34.9961
Geodetic CRS:  NAD83
INFO [2025-04-22 14:08:01] Working with state: MS
Data has been transformed to EPSG:4326.
Warning: st_centroid assumes attributes are constant over geometries
Data has been transformed to EPSG:4326.
Joining with `by = join_by(nmdp_race_code)`
Code
ms_4$p1

D - B58:01 Catchment

Code
gg_catchment <- plot_delNero2022_catchment_areas(
  query_allele = 'B*58:01',
  CensusHLA::b58_catchment_summed$sf_tract_centroids_for_all_states_with_catchment_with_us_population_race_code_percentages_by_tract_summed
)
Warning in layer_sf(geom = GeomSf, data = data, mapping = mapping, stat = stat,
: Ignoring unknown parameters: `line`
Code
gg_catchment

Tables

Table 1: United States 2020 Census Adjusted HLA-A*11:01 Genotypic Frequencies

Code
CensusHLA::us_pop_multirace_in_nmdp_codes |> 
  dplyr::left_join(
  CensusHLA::nmdp_hla_frequencies_by_race_us_2020_census_adjusted |> 
    dplyr::filter(allele == 'A*11:01') |> 
    dplyr::select(allele, allele, nmdp_race_code,us_2020_percent_pop,nmdp_calc_gf,us_2020_nmdp_gf) |> 
    dplyr::arrange(desc(us_2020_percent_pop))
  ) |> 
  # Convert percentages and gfs to percentages
  dplyr::mutate(
    us_2020_percent_pop = us_2020_percent_pop * 100,
    nmdp_calc_gf = nmdp_calc_gf * 100,
    us_2020_nmdp_gf = us_2020_nmdp_gf * 100
  ) |>
  # Round percentages and gf to 1 digit after decimal
  dplyr::mutate(
    us_2020_percent_pop = round(us_2020_percent_pop, 1),
    nmdp_calc_gf = round(nmdp_calc_gf, 1),
    us_2020_nmdp_gf = round(us_2020_nmdp_gf, 1)
  ) |>
  dplyr::select(
    `Ethnic Code` = nmdp_race_code,
    `Allele` = allele,
    `Single Race Population` =  total_single_race_pop,
    `Multi-Race Population ` = total_multiple_race_pop,
    `Total Population` = total_2020_pop,
    `Percentage of Total Pop` = us_2020_percent_pop,
    `NMDP Calcualted GF` = nmdp_calc_gf,
    `Population-Adjusted GF` = us_2020_nmdp_gf
  ) 
Joining with `by = join_by(nmdp_race_code)`
# A tibble: 6 × 8
  `Ethnic Code` Allele  `Single Race Population` `Multi-Race Population `
  <chr>         <chr>                      <dbl>                    <dbl>
1 AFA           A*11:01                 39940338                  2064019
2 API           A*11:01                 20240737                  1820295
3 CAU           A*11:01                191697647                  5944911
4 HIS           A*11:01                 62080044                        0
5 NAM           A*11:01                  2251699                  2131361
6 UNK           <NA>                     1689833                  1419206
# ℹ 4 more variables: `Total Population` <dbl>,
#   `Percentage of Total Pop` <dbl>, `NMDP Calcualted GF` <dbl>,
#   `Population-Adjusted GF` <dbl>

Table 2: HLA-A*11:01 Population-adjusted genotypic frequencies for top 11 NCI Catchment areas.

Code
CensusHLA::a11_catchment_summed$sf_tract_centroids_for_all_states_with_catchment_with_us_population_race_code_percentages_by_tract_summed |> dplyr::select(-geometry) |> dplyr::mutate(patient_pop = total_2020_pop * us_2020_nmdp_gf_sum) |>  dplyr::arrange(desc(patient_pop)) |> DT::datatable(
  ,filter = 'top'
  ,rownames = FALSE
  ,extensions = 'Buttons', options = list(
    scrollX=TRUE,
    pageLength = 11,
    dom = 'Bfrtip',
    buttons = c('copy', 'csv', 'excel', 'pdf', 'colvis')
    )
  )
Warning in instance$preRenderHook(instance): It seems your data is too big for
client-side DataTables. You may consider server-side processing:
https://rstudio.github.io/DT/server.html

Supplemental 1 - California County population-adjusted HLA-A*11:01 Genotypic frequencies

Code
info_by_county <- CensusHLA::census_adjusted_nmdp_hla_frequencies_by_county |> 
  dplyr::filter(state %in% c('California')) |> 
  dplyr::filter(allele %in% c('A*11:01','A*02:01','A*03:01'))

out_data <- info_by_county |>
  dplyr::ungroup() |>
  dplyr::filter(allele == 'A*11:01') |>
  dplyr::group_by(region, state, census_region, county, fips, loci, allele) |>
  dplyr::summarize(gf = sum(us_2020_nmdp_gf),
                   population = sum(total_2020_pop)) |>
  dplyr::filter(!(is.na(gf))) |>
  # Create a STATEFP and COUNTYFP column by breaking the fips column on the 3rd character to the end
  dplyr::mutate(STATEFP = substr(fips, 1, 2),
                COUNTYFP = substr(fips, 3, nchar(fips)))
`summarise()` has grouped output by 'region', 'state', 'census_region',
'county', 'fips', 'loci'. You can override using the `.groups` argument.
Code
out_data <- out_data |> 
  dplyr::arrange(desc(gf))
out_data
# A tibble: 58 × 11
# Groups:   region, state, census_region, county, fips, loci [58]
   region state census_region county fips  loci  allele    gf population STATEFP
   <chr>  <chr> <chr>         <chr>  <chr> <chr> <chr>  <dbl>      <dbl> <chr>
 1 us     Cali… Santa Clara … Santa… 06085 A     A*11:… 0.189    1918185 06
 2 us     Cali… San Francisc… San F… 06075 A     A*11:… 0.178     862909 06
 3 us     Cali… San Mateo Co… San M… 06081 A     A*11:… 0.172     753795 06
 4 us     Cali… Alameda Coun… Alame… 06001 A     A*11:… 0.170    1662962 06
 5 us     Cali… Orange Count… Orang… 06059 A     A*11:… 0.152    3159127 06
 6 us     Cali… Sutter Count… Sutte… 06101 A     A*11:… 0.143      98545 06
 7 us     Cali… Contra Costa… Contr… 06013 A     A*11:… 0.141    1150646 06
 8 us     Cali… Trinity Coun… Trini… 06105 A     A*11:… 0.140      15896 06
 9 us     Cali… Sacramento C… Sacra… 06067 A     A*11:… 0.140    1564896 06
10 us     Cali… San Joaquin … San J… 06077 A     A*11:… 0.136     771652 06
# ℹ 48 more rows
# ℹ 1 more variable: COUNTYFP <chr>

Supplemental 2 - United States 2020 Census Adjusted HLA-B*58:01 Genotypic Frequencies for Mississippi

Code
CensusHLA::us_pop_multirace_in_nmdp_codes |> 
  dplyr::left_join(
  CensusHLA::census_adjusted_nmdp_hla_frequencies_by_state |> dplyr::filter(allele == 'B*58:01') |> 
  dplyr::filter(census_region == 'Mississippi') |> 
    dplyr::select(allele,census_region,nmdp_race_code,us_2020_percent_pop,nmdp_calc_gf,us_2020_nmdp_gf) |> 
    dplyr::arrange(desc(us_2020_percent_pop))
  ) |> 
  # Convert percentages and gfs to percentages
  dplyr::mutate(
    us_2020_percent_pop = us_2020_percent_pop * 100,
    nmdp_calc_gf = nmdp_calc_gf * 100,
    us_2020_nmdp_gf = us_2020_nmdp_gf * 100
  ) |>
  # Round percentages and gf to 1 digit after decimal
  dplyr::mutate(
    us_2020_percent_pop = round(us_2020_percent_pop, 1),
    nmdp_calc_gf = round(nmdp_calc_gf, 1),
    us_2020_nmdp_gf = round(us_2020_nmdp_gf, 1)
  ) |>
  dplyr::select(
    `Region` = census_region,
    `Ethnic Code` = nmdp_race_code,
    `Allele` = allele,
    `Single Race Population` =  total_single_race_pop,
    `Multi-Race Population ` = total_multiple_race_pop,
    `Total Population` = total_2020_pop,
    `Percentage of Total Pop` = us_2020_percent_pop,
    `NMDP Calcualted GF` = nmdp_calc_gf,
    `Population-Adjusted GF` = us_2020_nmdp_gf
  ) 
Joining with `by = join_by(nmdp_race_code)`
# A tibble: 6 × 9
  Region      `Ethnic Code` Allele Single Race Populati…¹ Multi-Race Populatio…²
  <chr>       <chr>         <chr>                   <dbl>                  <dbl>
1 Mississippi AFA           B*58:…               39940338                2064019
2 Mississippi API           B*58:…               20240737                1820295
3 Mississippi CAU           B*58:…              191697647                5944911
4 Mississippi HIS           B*58:…               62080044                      0
5 Mississippi NAM           B*58:…                2251699                2131361
6 <NA>        UNK           <NA>                  1689833                1419206
# ℹ abbreviated names: ¹​`Single Race Population`, ²​`Multi-Race Population `
# ℹ 4 more variables: `Total Population` <dbl>,
#   `Percentage of Total Pop` <dbl>, `NMDP Calcualted GF` <dbl>,
#   `Population-Adjusted GF` <dbl>
Code
  #dplyr::select(allele, us_2020_nmdp_gf) |> 
  #dplyr::summarize(gf = sum(us_2020_nmdp_gf))

Supplemental 3 - Mississippi County population-adjusted HLA-B*58:01 Genotypic frequencies

Code
info_by_county <- CensusHLA::census_adjusted_nmdp_hla_frequencies_by_county |> 
  dplyr::filter(state %in% c('Mississippi')) |> 
  dplyr::filter(allele %in% c('B*58:01'))

out_data <- info_by_county |>
  dplyr::ungroup() |>
  dplyr::filter(allele == 'B*58:01') |>
  dplyr::group_by(region, state, census_region, county, fips, loci, allele) |>
  dplyr::summarize(gf = sum(us_2020_nmdp_gf),
                   population = sum(total_2020_pop)) |>
  dplyr::filter(!(is.na(gf))) |>
  # Create a STATEFP and COUNTYFP column by breaking the fips column on the 3rd character to the end
  dplyr::mutate(STATEFP = substr(fips, 1, 2),
                COUNTYFP = substr(fips, 3, nchar(fips)))
`summarise()` has grouped output by 'region', 'state', 'census_region',
'county', 'fips', 'loci'. You can override using the `.groups` argument.
Code
out_data <- out_data |> 
  dplyr::arrange(desc(gf))
out_data
# A tibble: 82 × 11
# Groups:   region, state, census_region, county, fips, loci [82]
   region state       census_region  county fips  loci  allele     gf population
   <chr>  <chr>       <chr>          <chr>  <chr> <chr> <chr>   <dbl>      <dbl>
 1 us     Mississippi Claiborne Cou… Claib… 28021 B     B*58:… 0.0679       9112
 2 us     Mississippi Jefferson Cou… Jeffe… 28063 B     B*58:… 0.0667       7238
 3 us     Mississippi Holmes County… Holme… 28051 B     B*58:… 0.0659      16964
 4 us     Mississippi Humphreys Cou… Humph… 28053 B     B*58:… 0.0629       7762
 5 us     Mississippi Tunica County… Tunic… 28143 B     B*58:… 0.0622       9715
 6 us     Mississippi Coahoma Count… Coaho… 28027 B     B*58:… 0.0619      21314
 7 us     Mississippi Leflore Count… Leflo… 28083 B     B*58:… 0.0608      28286
 8 us     Mississippi Quitman Count… Quitm… 28119 B     B*58:… 0.0602       6159
 9 us     Mississippi Washington Co… Washi… 28151 B     B*58:… 0.0592      44791
10 us     Mississippi Sharkey Count… Shark… 28125 B     B*58:… 0.0587       3778
# ℹ 72 more rows
# ℹ 2 more variables: STATEFP <chr>, COUNTYFP <chr>

Supplemental 4 - HLA-B*58:01 Population-adjusted genotypic frequencies by NCI Catchment areas.

Code
CensusHLA::b58_catchment_summed$sf_tract_centroids_for_all_states_with_catchment_with_us_population_race_code_percentages_by_tract_summed |> dplyr::select(-geometry) |> dplyr::mutate(patient_pop = total_2020_pop * us_2020_nmdp_gf_sum) |>  dplyr::arrange(desc(patient_pop)) |> DT::datatable(
  ,filter = 'top'
  ,rownames = FALSE
  ,extensions = 'Buttons', options = list(
    scrollX=TRUE,
    pageLength = 11,
    dom = 'Bfrtip',
    buttons = c('copy', 'csv', 'excel', 'pdf', 'colvis')
    )
  )
Warning in instance$preRenderHook(instance): It seems your data is too big for
client-side DataTables. You may consider server-side processing:
https://rstudio.github.io/DT/server.html

System and Session info

Code
R version 4.4.1 (2024-06-14)
Platform: x86_64-pc-linux-gnu
Running under: Rocky Linux 9.4 (Blue Onyx)

Matrix products: default
BLAS/LAPACK: FlexiBLAS OPENBLAS-OPENMP;  LAPACK version 3.9.0

locale:
 [1] LC_CTYPE=en_US.UTF-8       LC_NUMERIC=C
 [3] LC_TIME=en_US.UTF-8        LC_COLLATE=en_US.UTF-8
 [5] LC_MONETARY=en_US.UTF-8    LC_MESSAGES=en_US.UTF-8
 [7] LC_PAPER=en_US.UTF-8       LC_NAME=C
 [9] LC_ADDRESS=C               LC_TELEPHONE=C
[11] LC_MEASUREMENT=en_US.UTF-8 LC_IDENTIFICATION=C

time zone: UTC
tzcode source: system (glibc)

attached base packages:
[1] stats     graphics  grDevices utils     datasets  methods   base

other attached packages:
[1] dplyr_1.1.4          ggplot2_3.5.1        CensusHLA_0.1.0.9000

loaded via a namespace (and not attached):
 [1] gtable_0.3.6                  bslib_0.8.0
 [3] xfun_0.49                     htmlwidgets_1.6.4
 [5] tigris_2.1                    crosstalk_1.2.1
 [7] vctrs_0.6.5                   tools_4.4.1
 [9] generics_0.1.3                curl_6.0.1
[11] tibble_3.2.1                  proxy_0.4-27
[13] pkgconfig_2.0.3               KernSmooth_2.23-26
[15] uuid_1.2-1                    lifecycle_1.0.4
[17] h3jsr_1.3.1                   compiler_4.4.1
[19] farver_2.1.2                  stringr_1.5.1
[21] munsell_0.5.1                 terra_1.8-5
[23] codetools_0.2-20              sass_0.4.9
[25] htmltools_0.5.8.1             class_7.3-23
[27] yaml_2.3.10                   jquerylib_0.1.4
[29] pillar_1.10.0                 tidyr_1.3.1
[31] DT_0.33                       classInt_0.4-10
[33] cachem_1.1.0                  wk_0.9.4
[35] viridis_0.6.5                 tidyselect_1.2.1
[37] digest_0.6.37                 censusapi_0.8.0
[39] stringi_1.8.4                 sf_1.0-19
[41] purrr_1.0.4                   labeling_0.4.3
[43] rnaturalearth_1.0.1           fastmap_1.2.0
[45] grid_4.4.1                    colorspace_2.1-1
[47] cli_3.6.4                     magrittr_2.0.3
[49] utf8_1.2.4                    e1071_1.7-16
[51] withr_3.0.2                   scales_1.3.0
[53] rappdirs_0.3.3                rmarkdown_2.29
[55] lambda.r_1.2.4                httr_1.4.7
[57] gridExtra_2.3                 futile.logger_1.4.3
[59] rnaturalearthhires_1.0.0.9000 evaluate_1.0.1
[61] knitr_1.49                    V8_6.0.0
[63] viridisLite_0.4.2             s2_1.1.7
[65] rlang_1.1.5                   futile.options_1.0.1
[67] usmap_0.7.1                   Rcpp_1.0.13-1
[69] glue_1.8.0                    DBI_1.2.3
[71] geojsonsf_2.0.3               formatR_1.14
[73] rstudioapi_0.17.1             usmapdata_0.3.0
[75] jsonlite_1.8.9                R6_2.5.1
[77] units_0.8-5                  
Code
                                              sysname
                                              "Linux"
                                              release
                       "5.14.0-427.22.1.el9_4.x86_64"
                                              version
"#1 SMP PREEMPT_DYNAMIC Wed Jun 19 17:35:04 UTC 2024"
                                             nodename
        "ip-10-110-10-102.us-west-2.compute.internal"
                                              machine
                                             "x86_64"
                                                login
                                            "unknown"
                                                 user
                                      "christian.roy"
                                       effective_user
                                      "christian.roy"